<?php
class ComentariosController extends AppController {

	var $name = 'Comentarios';
	var $uses = array('Comentario','Post');
    var $helpers = array('Access');
    
    function sesion_activa(){
    	$usuario_activo=$this->Access->getMy('username');
    	//Verificacion de sesion del sistema
    	if(!$usuario_activo){
    		$this->Session->setFlash(__('Por favor inicie sesion', true));
    		$this->redirect(array('controller'=>'users','action' => 'login'));
    	}
    }
    
   function index($posts=null){
		$this->sesion_activa();
		$comentarios=$this->paginate('Comentario',array('Comentario.post_id'=>$posts));
		$comentarios_totales=$this->paginate('Comentario',array('Comentario.id'));
		$posts=$this->Post->find('first',array('conditions'=>array('Post.id'=>$posts)));
		
		//contador de comentarios		
		$contador = count($comentarios);	
	    $contador_total=count($comentarios_totales);		
	    
		$this->set(compact('posts','comentarios','contador','contador_total'));		
	}


	function view($id = null) {
		$this->sesion_activa();
		if (!$id) {
			$this->Session->setFlash(__('Comentario Invalido', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('comentario', $this->Comentario->read(null, $id));
	}

   function add($post_id=null) {
   		$this->sesion_activa();
				
		if (!empty($this->data)) {
			$this->Comentario->create();
			if ($this->Comentario->save($this->data)) {
				$this->Session->setFlash(__('El comentario ha sido guardado.', true));
				$this->redirect(array('action'=>'index',$this->data['Comentario']['post_id']));
			} else {
				$this->Session->setFlash(__('El comentario no ha sido guardado. Por favor intente de nuevo.', true));
			}
		}
		$post=$this->Comentario->Post->read(null,$post_id);
		$this->set(compact('post'));	
	} 
	
    function edit($id = null,$post = null){
    	$this->sesion_activa();
		if (!$id && empty($this->data)) 
		{
			$this->Session->setFlash(__('Invalid comentario', true));
			$this->redirect(array('action'=>'index'));
		}
		if (!empty($this->data)) 
		{
			if ($this->Comentario->save($this->data)) 
			{
				$this->Session->setFlash(__('El comentario ha sido guardado', true));
				$this->redirect(array('action' =>'index',$this->data['Comentario']['post_id']));
				
			}else{
				$this->Session->setFlash(__('El comentario no ha sido guardado. Por favor intente de nuevo', true));
			}
		}
		if (empty($this->data))
		{
			$this->data=$this->Comentario->read(null, $id);
		}
		
		$post=$this->Comentario->Post->find('first',array('conditions'=>array('Post.id'=>$post)));
		$this->set(compact('post'));				
	}

	function delete($id = null) {
		$this->sesion_activa();
		if (!$id) {
			$this->Session->setFlash(__('Comentario Invalido', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Comentario->delete($id)) {
			$this->Session->setFlash(__('Comentario Eliminado', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('El Comentario no se elimino', true));
		$this->redirect(array('action' => 'index'));
	}
	
    function posts_comentarios($posts=null){
		
		$this->sesion_activa();
		$posts = $this->paginate('Post');							
		$this->set(compact('posts'));	
    }	
}
